function groupAnagrams (strs) {
    if (!strs || strs === '') return
    // 创建一个 Map 来存储分组
    // 使用排序后的字符串作为键，原字符串作为值的数组
    const map = new Map()
    // 遍历每个字符串
    // 将字符串排序后作为键，原字符串作为值存入 Map
    for(const str of strs){
        // 将字符串转换为字符数组，排序后再转换回字符串
        // 这样可以确保所有字母相同的字符串会有相同的键
        const key = [...str].sort().join('')
        // 如果 Map 中不存在这个键，则初始化一个空数组
        // 否则将原字符串添加到对应的数组中
        if(!map.has(key)){
            // 如果 Map 中没有这个键，则创建一个新的空数组
            map.set(key, [])
        }
        // 将原字符串添加到对应的数组中
        map.get(key).push(str)
    }
    // 返回 Map 的值组成的数组
    return Array.from(map.values())
};
console.log(groupAnagrams(["eat", "tea", "tan", "ate", "nat", "bat"]))